package zw_701_800.zw_717_1比特与2比特字符;

class Solution {

    public static void main(String[] args) {
        int[] bits = {1, 1, 1, 0};
        boolean b = isOneBitCharacter(bits);
        System.out.println(b);
    }

    /**
     * 思路很简单：因为1肯定要连着下一个，所以遇见1，走两步，遇见0，走一步,然后判断能不能走到最后一位就可以
     * 根据题意进行模拟即可，使用 n 代指 bits 的长度，idx 为当前「比特字」的开头，从前往后扫描每个「比特字」，
     * 如果最后一个「比特字」的开头为 n−1 返回 True，否则返回 False。
     *
     * @param bits
     * @return
     */
    public static boolean isOneBitCharacter(int[] bits) {
        int n = bits.length, idx = 0;
        while (idx < n - 1) {
            if (bits[idx] == 0) idx++;
            else idx += 2;
//            idx += bits[idx]+1;
        }
        return idx == n - 1;
    }
}
